What is console-table-printer?
The console-table-printer npm package is a utility for printing tables to the console in a visually appealing way. It is useful for developers who need to display tabular data in a readable format directly in the terminal.
What are console-table-printer's main functionalities?
Basic Table Printing
This feature allows you to print a basic table with rows of data. The code sample demonstrates how to create a table, add rows to it, and print it to the console.
const { Table } = require('console-table-printer');
const p = new Table();
p.addRow({ index: 1, name: 'John', age: 25 });
p.addRow({ index: 2, name: 'Jane', age: 30 });
p.printTable();
Custom Column Formatting
This feature allows you to customize the alignment of columns in the table. The code sample shows how to set different alignments for each column.
const { Table } = require('console-table-printer');
const p = new Table({
columns: [
{ name: 'index', alignment: 'left' },
{ name: 'name', alignment: 'center' },
{ name: 'age', alignment: 'right' }
]
});
p.addRow({ index: 1, name: 'John', age: 25 });
p.addRow({ index: 2, name: 'Jane', age: 30 });
p.printTable();
Colorful Table Output
This feature allows you to add colors to the table output for better visual distinction. The code sample demonstrates how to set different colors for each column.
const { Table } = require('console-table-printer');
const p = new Table({
columns: [
{ name: 'index', color: 'red' },
{ name: 'name', color: 'green' },
{ name: 'age', color: 'blue' }
]
});
p.addRow({ index: 1, name: 'John', age: 25 });
p.addRow({ index: 2, name: 'Jane', age: 30 });
p.printTable();
Other packages similar to console-table-printer
cli-table
cli-table is another package for printing tables to the console. It offers similar functionality but with a different API. It is slightly less feature-rich compared to console-table-printer but is still a solid choice for basic table printing needs.
table
The table package provides a more flexible and customizable way to print tables to the console. It offers advanced features like custom border styles and text wrapping, making it a good alternative for users who need more control over the table's appearance.
easy-table
easy-table is a lightweight package for printing tables to the console. It focuses on simplicity and ease of use, making it a good choice for users who need to quickly display tabular data without much configuration.
console-table-printer
🖥️🍭Printing Pretty Tables on your console
Synopsis
Printing Simple Table with Coloring rows on your console. Its useful when you want to present some tables on console using js.
Installation
npm install console-table-printer --save
Basic Example
const { printTable } = require('console-table-printer');
const testCases = [
{ Rank: 3, text: 'I would like some Yellow', value: 100 },
{ Rank: 4, text: 'I hope batch update is working', value: 300 },
];
printTable(testCases);
🚨🚨Announcement🚨🚨 Official Documentation is moved Here
You can also create a Table instance and print it:
const { Table } = require('console-table-printer');
const p = new Table();
p.addRow({ Record: 'a', text: 'red wine please', value: 10.212 });
p.addRow({ Record: 'b', text: 'green gemuse please', value: 20.0 });
p.addRows([
{ Record: 'c', text: 'gelb bananen bitte', value: 100 },
{ Record: 'd', text: 'update is working', value: 300 },
]);
p.printTable();
You can also put some color to your table like this:
const p = new Table();
p.addRow({ description: 'red wine', value: 10.212 }, { color: 'red' });
p.addRow({ description: 'green gemuse', value: 20.0 }, { color: 'green' });
p.addRow({ description: 'gelb bananen', value: 100 }, { color: 'yellow' });
p.printTable();
You can also put properties based on columns (color/alignment/title)
const p = new Table({
columns: [
{ name: 'id', alignment: 'left', color: 'blue' },
{ name: 'text', alignment: 'right' },
{ name: 'is_priority_today', title: 'Is This Priority?' },
],
colorMap: {
custom_green: '\x1b[32m',
},
});
p.addRow({ id: 1, text: 'red wine', value: 10.212 }, { color: 'green' });
p.addRow(
{ id: 2, text: 'green gemuse', value: 20.0 },
{ color: 'custom_green' }
);
p.addRow(
{ id: 3, text: 'gelb bananen', value: 100, is_priority_today: 'Y' },
{ color: 'yellow' }
);
p.addRow({ id: 3, text: 'rosa hemd wie immer', value: 100 }, { color: 'cyan' });
p.printTable();
CLI
There is also a CLI tool for printing Tables on Terminal directly table-printer-cli
Documentation
Official documentation has been moved here: console-table-documentation
Table instance creation
3 ways to Table Instance creation:
-
Simplest way new Table()
-
Only with column names: new Table(['column1', 'column2', 'column3'])
-
Detailed way of creating table instance
new Table({
title: 'Title of the Table',
columns: [
{ name: 'column1', alignment: 'left', color: 'red' },
{ name: 'column2', alignment: 'right', maxLen: 30 },
{ name: 'column3', title: 'Column3' },
],
rows: [{ column1: 'row1' }, { column2: 'row2' }, { column3: 'row3' }],
sort: (row1, row2) => row2.column1 - row1.column1,
filter: (row) => row.column1 < 3,
enabledColumns: ['column1'],
disabledColumns: ['column2'],
colorMap: {
custom_green: '\x1b[32m',
},
charLength: {
'👋': 2,
'😅': 2,
},
});
Functions
addRow(rowObjet, options)
adding single row. This can be chainedaddRows(rowObjects, options)
adding multiple rows. array of row object. This case options will be applied to all the objects in rowaddColumn(columnObject)
adding single columnaddColumns(columnObjects)
adding multiple columnsprintTable()
Prints the table on your console
possible color
values for rows
Check Docs: color-vals
Example usage: To Create a row of color blue
table.addRow(rowObject, { color: 'blue' });
Example usage: To apply blue for all rows
table.addRows(rowsArray, { color: 'blue' });
possible alignment
values for columns
Check Docs: alignment-vals
Typescript Support
You can get color / alignment as types. Check Docs: types-docs
License
MIT